package test02;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * 用于创建英雄及其皮肤信息的 XML 文件。
 */
public class Main {
    public static void main(String[] args) {
        // 创建一个空的 XML 文档对象
        Document doc = XmlUtils.newDocument();

        // 创建根节点 <heros>
        Element root = doc.createElement("heros");
        // 将根节点添加到文档中
        doc.appendChild(root);

        // ---------------- 创建第一个 hero ----------------
        // <hero id="p0001" price="2888">
        Element hero1 = doc.createElement("hero");
        hero1.setAttribute("id", "p0001");       // 设置 hero 的 id 属性
        root.appendChild(hero1);                 // 添加到根节点

        // <name>后裔</name>
        Element name1 = doc.createElement("name");
        name1.setTextContent("后裔");            // 设置文本内容
        hero1.appendChild(name1);                // 添加到 hero 节点中

        // <skins> 节点，用于包含多个皮肤
        Element skins1 = doc.createElement("skins");
        hero1.appendChild(skins1);

        // <skin skid="houyi001">
        Element skin1 = doc.createElement("skin");
        skin1.setAttribute("skid", "houyi001");
        skins1.appendChild(skin1);

        // <skinName>精灵王</skinName>
        Element skinName1 = doc.createElement("skinName");
        skinName1.setTextContent("精灵王");
        skin1.appendChild(skinName1);

        // <price>288</price>
        Element skinPrice1 = doc.createElement("price");
        skinPrice1.setTextContent("288");
        skin1.appendChild(skinPrice1);

        Element Heroprice = doc.createElement("hero_price");
        Heroprice.setTextContent("2888");            // 设置文本内容
        hero1.appendChild(Heroprice);                // 添加到 hero 节点中

        // ---------------- 创建第二个 hero ----------------
        // <hero id="p0002" price="4888">
        Element hero2 = doc.createElement("hero");
        hero2.setAttribute("id", "p0002");
        root.appendChild(hero2);

        // <name>卤蛋</name>
        Element name2 = doc.createElement("name");
        name2.setTextContent("卤蛋");
        hero2.appendChild(name2);

        // <skins> 节点
        Element skins2 = doc.createElement("skins");
        hero2.appendChild(skins2);

        // <skin skid="卤蛋002">
        Element skin2 = doc.createElement("skin");
        skin2.setAttribute("skid", "卤蛋002");
        skins2.appendChild(skin2);

        // <skinName>电玩小子</skinName>
        Element skinName2 = doc.createElement("skinName");
        skinName2.setTextContent("电玩小子");
        skin2.appendChild(skinName2);

        // <price>2888</price>
        Element skinPrice2 = doc.createElement("price");
        skinPrice2.setTextContent("2888");
        skin2.appendChild(skinPrice2);

        Element Heroprice2 = doc.createElement("hero_price");
        Heroprice2.setTextContent("4888");            // 设置文本内容
        hero2.appendChild(Heroprice2);

        // ---------------- 创建第二个 hero ----------------
        Element hero3=doc.createElement("name");
        hero3.setAttribute("id","p0003");
        root.appendChild(hero3);

        Element name3 = doc.createElement("name");
        name3.setTextContent("杨戬");
        hero3.appendChild(name3);

        Element skins3 = doc.createElement("skins");
        hero3.appendChild(skins3);

        Element skin3=doc.createElement("skin");
        skin3.setAttribute("skid","杨戬001");
        skins3.appendChild(skin3);

        Element skinname3=doc.createElement("skinname");
        skinname3.setTextContent("埃及法老");
        skin3.appendChild(skinname3);

        Element skinprice3=doc.createElement("price");
        skinprice3.setTextContent("288");
        skin3.appendChild(skinprice3);

        Element Heroprice3 = doc.createElement("hero_price");
        Heroprice3.setTextContent("18888");            // 设置文本内容
        hero3.appendChild(Heroprice3);



        // ---------------- 写入 XML 文件 ----------------
        XmlUtils.writeDocIntoFile(doc, "heros.xml");

        System.out.println("✅ XML 文件生成成功！");
    }
}
